Dialogue Simulation
Simulation-Based Evaluation
为什么用User simulator:
通常,RL算法需要与用户交互才能学习。但是,在招募的用户或实际用户上运行RL可能是昂贵的,甚至是有风险的。解决这一挑战的一种方法是构建一个模拟用户,与RL算法交互几乎不需要任何成本。
本质上,User simulator试图模拟真实用户在对话中的行为: a. 跟踪对话状态,b.并与RL对话系统进行对话一般的User simulator:
- such as deterministic vs. stochastic
- content-based vs. collaboration-based
- static vs. non-static user goals during the conversations
- 用户模拟器可以在 dialogue-act level 或在句子级别上操作
- 可以是基于规则也可以是基于模型从真实的对话数据中学到的。
Agenda-Based Simulation
- ex:As an example, we describe a popular hidden agenda-based user simulator developed by Schatzmann and Young (2009), as instantiated in Li et al. (2016d) and Ultes et al. (2017c).
- 每个对话模拟从一个随机生成的用户目标开始,对话管理器不知道这个目标。一般来说,用户目标由两部分组成:inform-slots 包含大量的槽值对,作为用户想要强加于对话的约束;request-slots 是用户最初不知道其值的槽,将在对话期间填写。
- 此外,为了使用户目标更加实际,还添加了领域特定的约束,以便某些slot需要出现在用户目标中。例如,要求用户知道在电影领域中需要多少张票是有意义的
- 在对话过程中,模拟用户维护一个堆栈数据结构,称为user agenda。议程中的每个agenda都对应着用户要实现的一个未决意图,它们的优先级由议程堆栈的“后进先出”(first-in-last-out)操作隐式地决定。因此,agenda提供了一种方便的方式编码的历史的对话和用户的“心理状态”。对用户的模拟可以归结为在每次对话结束后,当更多的信息被披露时,如何维护议程。机器学习或专家定义(expert-defined)的规则可用于在堆栈更新(stack-update)过程中设置参数。
Model-Based Simulation
- Another approach to building user simulators is entirely based on data. ex: (Eckert et al., 1997; Levin et al., 2000; Chandramohan et al., 2011). Asri et al. (2016)
- 与agenda-based的方法类似,模拟器还会以随机生成的用户目标和约束作为开始。这些是在谈话中是固定的。
在每一个回合中,用户模型都会输入一系列在对话中收集到的上下文,并输出下一个动作。具体来说,对话的语境包括:
- 最近的机器动作,
- 机器信息与用户目标不一致,
- 约束状态和
- 请求状态。
- 有了这些上下文,使用LSTM输出下一个用户话语。在实践中,通过结合基于规则和基于模型的方法来创建用户模拟器,可以表现的更好。
Further Remarks on User Simulation
- 目前的用户模拟器自身的评估也不明朗,实际一些对话策略会因为过拟合一个特定的对话模拟器而不能适用于真实的用户。
- 用户模拟器和人之间的差距,是优化基于用户模拟器获得的对话策略的最大的限制。
- 最近推出的一个更大的评估环境的语料库—AirDialogue
Reference:
[1]Li, X., Lipton, Z. C., Dhingra, B., Li, L., Gao, J., and Chen, Y.-N. (2016d). A user simulator for
task-completion dialogues. CoRR abs/1612.05688
[2]Li, X., Chen, Y.-N., Li, L., Gao, J., and Celikyilmaz, A. (2017d). End-to-end task-completion neural
dialogue systems. In Proceedings of the 8th International Joint Conference on Natural Language
Processing (IJCNLP), pages 733–743.
[3] Gao,Michel Galley,Michel Galley, Neural Approaches to Conversational AI (2018)